package com.rshang.rsdp.mapper;

import com.rshang.rsdp.entity.TbRsdlRyxx;

import java.util.HashMap;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;

/**
 * <p>
  * 人员信息表 Mapper 接口
 * </p>
 *
 * @author zhangjun
 * @since 2017-08-20
 */
public interface TbRsdlRyxxMapper extends BaseMapper<TbRsdlRyxx> {

	/**
	 * 月报查询
     * @param page		分页对象
	 * @param cxyf		查询月份
	 * @param czr		操作人
	 * @param manager	是否经理
	 * @param xm		姓名
     * @param gsmc		公司名称
	 * @return
	 * 		List<HashMap>
	 */
	public List<HashMap> getYbcxList(Page<HashMap> page,@Param("cxyf") String cxyf,@Param("czr") String czr,@Param("manager") boolean manager,@Param("xm")String xm,@Param("gsmc")String gsmc);
    /**
     * 月报查询
     * @param cxyf		查询月份
     * @param czr		操作人
     * @param manager	是否经理
     * @param xm		姓名
     * @param gsmc		公司名称
     * @return
     * 		List<HashMap>
     */
    public List<HashMap> getYbcxListExport(@Param("cxyf") String cxyf,@Param("czr") String czr,@Param("manager") boolean manager,@Param("xm")String xm,@Param("gsmc")String gsmc);

    /**
	 * 首页统计图表总数查询
	 * @param cxyf	查询月份
	 * @return
	 * 		HashMap
	 */
	public HashMap getZsTj(@Param("cxyf") String cxyf);
	
	
	/**
	 * 首页统计图表员工查询
	 * @param cxyf	查询月份
	 * @param czr	操作人
	 * @return
	 * 		HashMap
	 */
	public HashMap getZsTjByUserId(@Param("cxyf") String cxyf,@Param("czr") String czr);
	
	/**
	 * 获取在职人数年度统计
	 * @param cxnd		查询年度
	 * @param czr		操作人
	 * @param manager	是否管理员
	 * @return
	 * 		HashMap
	 */
	public HashMap getZzNdTj(@Param("cxnd") String cxnd,@Param("czr") String czr,@Param("manager") boolean manager);
	
	
	/**
	 * 根据操作人、公司、小公司获取人员列表
	 * @param czr		操作
	 * @param gsid		公司id
	 * @param xgsid		小公司id
	 * @return
	 * 		List<HashMap>
	 */
	public List<HashMap> getRyxxByCzrGs(@Param("czr") String czr,@Param("gsid") String gsid,@Param("xgsid") String xgsid);
	
	
	/**
	 * 根据操作人获取人员列表
	 * @param czr		操作
	 * @return
	 * 		List<HashMap>
	 */
	public List<HashMap> getRyxxByCzr(@Param("czr") String czr);
	
	/**
	 * 人员分页查询
	 * @param page		分页对象
	 * @param lrr		录入人
	 * @param lx		查询类型 空表示全部 lz表示离职 wb表示未办
	 * @param gsmc		公司名称
	 * @param xgsmc		小公司名称
	 * @param xm		姓名
	 * @param ryzt		人员状态
	 * @param sfzhm		身份证号码
	 * @param dnh		电脑号
	 * @param khbh		客户编号
	 * @param cxrqq		查询日期起
	 * @param cxrqz		查询日期止
     * @param lzyy		离职原因
     * @param yc		异常
     * @param lxqk		联系情况
	 * @param czr		操作人
	 * @param sort		排序字段
	 * 
	 * @return
	 * 		List<HashMap>
	 */
	public List<HashMap> getRyList(Pagination page,@Param("lrr") String lrr,@Param("lx") String lx,@Param("gsmc") String gsmc,@Param("xgsmc") String xgsmc,@Param("xm") String xm,@Param("ryzt") String ryzt,@Param("sfzhm")String sfzhm,@Param("dnh") String dnh,@Param("khbh") String khbh,@Param("cxrqq") String cxrqq,@Param("cxrqz") String cxrqz,@Param("lzyy") String lzyy,@Param("yc") String yc,@Param("lxqk") String lxqk,@Param("czr") String czr,@Param("sort") String sort);
	/**
	 * 人员导出查询
	 * @param lrr		录入人
	 * @param lx		查询类型 空表示全部 lz表示离职 wb表示未办
	 * @param gsmc		公司名称
	 * @param xgsmc		小公司名称
	 * @param xm		姓名
	 * @param ryzt		人员状态
	 * @param sfzhm		身份证号码
	 * @param dnh		电脑号
	 * @param khbh		客户编号
	 * @param cxrqq		查询日期起
	 * @param cxrqz		查询日期止
     * @param lzyy		离职原因
     * @param yc		异常
     * @param lxqk		联系情况
	 * @param czr		操作人
	 * @param sort		排序字段
	 *
	 * @return
	 * 		List<HashMap>
	 */
	public List<HashMap> getRyListExport(@Param("lrr") String lrr,@Param("lx") String lx,@Param("gsmc") String gsmc,@Param("xgsmc") String xgsmc,@Param("xm") String xm,@Param("ryzt") String ryzt,@Param("sfzhm")String sfzhm,@Param("dnh") String dnh,@Param("khbh") String khbh,@Param("cxrqq") String cxrqq,@Param("cxrqz") String cxrqz,@Param("lzyy") String lzyy,@Param("yc") String yc,@Param("lxqk") String lxqk,@Param("czr") String czr,@Param("sort") String sort);
	
	
	/**
	 * 获取人员历史纪录
	 * @param ryId	人员id
	 * @return	List<HashMap>
	 */
	public List<HashMap> getRyHistory(@Param("ryid")String ryId);

	/**
	 * 人员解聘分页查询
	 * @param page		分页对象
	 * @param lrr		录入人
	 * @param gsmc		公司名称
	 * @param xgsmc		小公司名称
	 * @param xm		姓名
	 * @param ryzt		人员状态
	 * @param sfzhm		身份证号码
	 * @param cxrqq		查询日期起
	 * @param cxrqz		查询日期止
	 * @param czr		操作人
	 * @param sort		排序字段
	 * 
	 * @return
	 * 		List<HashMap>
	 */
	public List<HashMap> getRyxxJpList(Pagination page,@Param("lrr") String lrr,@Param("gsmc") String gsmc,@Param("xgsmc") String xgsmc,@Param("xm") String xm,@Param("ryzt") String ryzt,@Param("sfzhm")String sfzhm,@Param("cxrqq") String cxrqq,@Param("cxrqz") String cxrqz,@Param("czr") String czr,@Param("sort") String sort);
	
	
	/**
	 * 人员解聘分页导出
	 * @param lrr		录入人
	 * @param gsmc		公司名称
	 * @param xgsmc		小公司名称
	 * @param xm		姓名
	 * @param ryzt		人员状态
	 * @param sfzhm		身份证号码
	 * @param cxrqq		查询日期起
	 * @param cxrqz		查询日期止
	 * @param czr		操作人
	 * @param sort		排序字段
	 * 
	 * @return
	 * 		List<HashMap>
	 */
	public List<HashMap> getRyxxJpListExport(@Param("lrr") String lrr,@Param("gsmc") String gsmc,@Param("xgsmc") String xgsmc,@Param("xm") String xm,@Param("ryzt") String ryzt,@Param("sfzhm")String sfzhm,@Param("cxrqq") String cxrqq,@Param("cxrqz") String cxrqz,@Param("czr") String czr,@Param("sort") String sort);
	/**
	 * 人员解聘分页查询
	 * @param page		分页对象
	 * @param xm			姓名
	 * @param czr		操作人
	 * 
	 * @return
	 * 		List<HashMap>
	 */
	public List<HashMap> getRycxPageList(Page page, @Param("xm") String xm,@Param("czr") String czr);
}